package estacionamento.jpa;

import java.io.Serializable;
import java.lang.Integer;
import java.lang.String;
import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 * Entity implementation class for Entity: Pessoa
 *
 */

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@Table(name="pessoa")
@NamedQueries({@NamedQuery(name="Pessoa.listarPessoas", query="select o from Pessoa o order by o.nome"),
@NamedQuery(name="Pessoa.CPF", query="select o from Pessoa o where o.CPF =:cpf")})
public class Pessoa implements Serializable {
	
	private String nome;
	@NotNull
	private Integer RG;
	@Id
	@NotNull
	@GeneratedValue(strategy=GenerationType.AUTO)	
	private Integer CPF;
	private Integer CEP;
	private String endereco;
	private String complemento;
	private String bairro;
	private static final long serialVersionUID = 1L;

	public Pessoa() {
		super();
	}   
	
	public Pessoa(String nome, Integer rG, Integer cPF, Integer cEP,
			String endereco, String complemento, String bairro) {
		super();
		this.nome = nome;
		RG = rG;
		CPF = cPF;
		CEP = cEP;
		this.endereco = endereco;
		this.complemento = complemento;
		this.bairro = bairro;
	}
	
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}   
	public Integer getRG() {
		return this.RG;
	}

	public void setRG(Integer RG) {
		this.RG = RG;
	}   
	public Integer getCPF() {
		return this.CPF;
	}

	public void setCPF(Integer CPF) {
		this.CPF = CPF;
	}   
	public Integer getCEP() {
		return this.CEP;
	}

	public void setCEP(Integer CEP) {
		this.CEP = CEP;
	}   
	public String getEndereco() {
		return this.endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}   
	public String getComplemento() {
		return this.complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}   
	public String getBairro() {
		return this.bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((CPF == null) ? 0 : CPF.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Pessoa other = (Pessoa) obj;
		if (CPF == null) {
			if (other.CPF != null)
				return false;
		} else if (!CPF.equals(other.CPF))
			return false;
		return true;
	}
   
}
